home *** CD-ROM | disk | FTP | other *** search
/ 64'er Special 16 / 64er_Magazin_Sonderheft_16_19xx_Markt__Technik_de_Side_B.d64 / habu 64 (.txt) < prev    next >
Commodore BASIC  |  2022-10-26  |  33KB  |  1,297 lines

  1. 1 poke1,55:goto100
  2. 6 sys51150,fy(i),fx(i)
  3. 7 return
  4. 8 remsyssa,22,0,1,">>>>[160]buchung[160]eingeben[160]bzw.[160]aendern[160]<<<<<";
  5. 9 remprint">>>>>>>[160](ende[160]mit[160][160]shift[160]return)[160]<<<<<<<";
  6. 10 return
  7. 11 rem felddruck
  8. 12 fori=1tofa
  9. 13 :syssa,fy(i),fx(i),0,f$(i)
  10. 15 :nexti
  11. 16 gosub54000:gosub54110
  12. 17 return
  13. 18 rem-eingabemenue
  14. 19 y%=0:z=1:bh$=" ":ah$=chr$(32)
  15. 20 syss9,fy(i),fx(i)+z-1
  16. 21 syss3,ah$,y%:rem editor
  17. 22 ony%goto24,27,27,29,32,35,35,37,39,41,44,34,48,49,49,48,46,49,49,46
  18. 23 rem-klein
  19. 24 ifz>fl(i)thensyssa,fy(i),fx(i),0,f$(i):i=i+1:return
  20. 25 :syss4,ah$,bh$,f$(i),z,y%:syssa,fy(i),fx(i),0,f$(i):z=z+1:goto20
  21. 26 rem-return und crsr unten
  22. 27 syssa,fy(i),fx(i),0,f$(i):i=i+1:r=-1:return
  23. 28 rem-delete
  24. 29 ifz<=1goto20
  25. 30 :syss4,ah$,bh$,f$(i),z,y%:z=z-1:syssa,fy(i),fx(i),0,f$(i):goto20
  26. 31 rem-crsr rechts
  27. 32 z=z+1:ifz>fl(i)thenz=1
  28. 33 goto20
  29. 34 z=z-1:ifz<1thenz=fl(i)
  30. 35 goto20
  31. 36 rem-gross
  32. 37 goto20
  33. 38 rem-sh return
  34. 39 goto20
  35. 40 rem-crsr oben
  36. 41 syssa,fy(i),fx(i),0,f$(i):ifi>1theni=i-1:r=1:return
  37. 42 :i=1:r=1:return
  38. 43 rem-insert
  39. 44 ifz>=fl(i)goto20
  40. 45 :syss4,ah$,bh$,f$(i),z,y%:syssa,fy(i),fx(i),0,f$(i):goto20
  41. 46 ve=2:aa$=ah$:return
  42. 48 ve=1:aa$=ah$:return
  43. 49 goto20
  44. 50 rem-start
  45. 51 gosub8
  46. 52 gosub12
  47. 53 i=1
  48. 54 md$="eingabe":gosub62000
  49. 55 ve=0:gosub18:ifve>0goto63
  50. 56 j=i+r:k=0
  51. 57 onjgosub75,81,83,86,91
  52. 58 ifk=0then61
  53. 59 md$="eingabefehler":gosub62000
  54. 60 syssa,fy(i),fx(i),0,""f$(i)"[154]":goto55
  55. 61 ifi>fatheni=fa
  56. 62 goto54
  57. 63 ifve=2thenreturn
  58. 64 md$="eingabekontrolle":gosub62000
  59. 65 jj=0
  60. 66 forj=1tofa:k=0
  61. 67 :onjgosub75,81,83,86,91
  62. 68 :ifk=0then72
  63. 69 :ifjj=0thenjj=j
  64. 70 :md$="eingabefehler":gosub62000
  65. 71 :i=j:syssa,fy(i),fx(i),0,""f$(i)"[154]":gosub6
  66. 72 :nextj
  67. 73 ifjj>otheni=jj:goto55
  68. 74 return
  69. 75 ifmid$(f$(1),2,1)<"0"ormid$(f$(1),2,1)>"9"thenf$(1)=" "+mid$(f$(1),1,1)
  70. 76 syssa,fy(1),fx(1),0,f$(1)
  71. 77 th=val(f$(j))
  72. 78 ifth< 1orth>31thenk=j:i=j:return
  73. 79 f1$=f$(1)+"."+mid$(dn$,3,2)+"."+mid$(dn$,1,2)
  74. 80 return
  75. 81 rem text
  76. 82 return
  77. 83 rem wert
  78. 84 syss7,f$(3),2:syssa,fy(3),fx(3),0,f$(3)
  79. 85 return
  80. 86 rem konto
  81. 87 forkk=1toka
  82. 88 :iff$(j)=kz$(kk)thengosub54060:return
  83. 89 :next
  84. 90 k=j:i=j:return
  85. 91 rem verw.
  86. 92 forkk=1tova
  87. 93 :iff$(j)=vz$(kk)thengosub54110:return
  88. 94 :next
  89. 95 k=j:i=j:return
  90. 100 poke53280,11:poke53281,0:print"[154]";chr$(142);chr$(8);
  91. 101 gosub5000
  92. 102 ifpeek(49152)<>76thenload"masch*",8,1
  93. 103 ifpeek(828)=0thenload"string.ma",8,1
  94. 104 sm=199:dims$(199):dims%(199)
  95. 105 dimt$(32):dimh$(2)
  96. 107 l$="                                        "+""
  97. 109 ep=1.000001
  98. 110 fori=0tosm:s$(i)="     "+"":nexti
  99. 120 forj=1to32:t$(j)="12345678901"+"":nextj
  100. 122 h$(1)="1234567"+"":h$(2)=chr$(32)
  101. 130 s1=49152:rem sorter
  102. 131 s2=50150:rem editor 1
  103. 132 s3=50155:rem editor 2
  104. 133 s4=50350:rem delete
  105. 134 s5=50550:rem zahl speichern
  106. 135 s6=50600:rem zahl holen
  107. 136 s7=50650:rem zahlernformat
  108. 137 s8=50950:rem get#,anz
  109. 138 s9=51150:rem print at
  110. 139 sa=51165:rem print at
  111. 140 sb=51250:rem sucher
  112. 141 sc=51550:rem scrollen
  113. 142 sd=51555:rem scrollen
  114. 143 se=51859:rem centronics
  115. 144 sf=828  :rem substring
  116. 145 sg=51200:rem dev. present
  117. 160 md$="datendisk einl., taste druecken"
  118. 170 gosub62500
  119. 180 dimg1$(3):dimg2$(3)
  120. 181 g1$(0)="[146] [146]":g2$(0)="[146] [146]"
  121. 182 g1$(1)="[146][180][146]":g2$(1)="[146][170][146]"
  122. 183 g1$(2)="[146][161][146]":g2$(2)="[161][146]"
  123. 184 g1$(3)="[170][146]":g2$(3)="[165][146]"
  124. 200 print"[154]";:fp=1
  125. 300 dimkn$(13):dimkz$(13)
  126. 400 dimvn$(21):dimvz$(21)
  127. 500 ha$="            "
  128. 501 i1$=l$
  129. 502 b$=left$(l$,3)
  130. 503 f1$="tt.mm.jj"+""
  131. 504 i3$=l$+l$
  132. 505 a$=left$(l$,42)
  133. 506 i2$=l$
  134. 507 i4$=l$
  135. 508 i5$=left$(i3$,46)
  136. 509 i6$=left$(i3$,42)
  137. 510 h1$=left$(l$,1)
  138. 511 h2$=left$(l$,2)
  139. 512 h3$=left$(l$,3)
  140. 513 h4$=left$(l$,4)
  141. 514 h6$=left$(l$,6)
  142. 515 h7$=left$(l$,7)
  143. 516 h8$=left$(l$,8)
  144. 517 hr$=left$(l$,11)
  145. 518 dn$=left$(l$,4)
  146. 519 da$=left$(l$,4)
  147. 520 tb$=""
  148. 700 mg=41
  149. 701 zh=int(s6/256):zl=s6-zh*256
  150. 702 poke785,zl:poke786,zh
  151. 705 def fnkb(r)=usr((32*r+nr- 1)*6)
  152. 706 def fnvb(r)=usr((32*r+nr+11)*6)
  153. 710 dimf$(5):gosub56500
  154. 720 dimfx(5):dimfy(5):dimfl(5):fa=5
  155. 730 fy(1)= 2:fx(1)= 9:fl(1)= 2
  156. 740 fy(2)= 4:fx(2)= 9:fl(2)=31
  157. 750 fy(3)= 6:fx(3)= 9:fl(3)=11
  158. 760 fy(4)= 8:fx(4)= 9:fl(4)= 1
  159. 770 fy(5)=10:fx(5)= 9:fl(5)= 1
  160. 810 dimm$(12)
  161. 811 m$(1)="jan."
  162. 812 m$(2)="feb."
  163. 813 m$(3)="mrz."
  164. 814 m$(4)="apr."
  165. 815 m$(5)="mai "
  166. 816 m$(6)="juni"
  167. 817 m$(7)="juli"
  168. 818 m$(8)="aug."
  169. 819 m$(9)="sep."
  170. 820 m$(10)="okt."
  171. 821 m$(11)="nov."
  172. 822 m$(12)="dez."
  173. 1000 rem bilanzen einlesen
  174. 1010 open3,8,15
  175. 1020 gosub21500:rem open bilanzen
  176. 2000 fp=2:close6
  177. 2010 print"[147]hauptmenue                 haushaltsbuch";
  178. 2011 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  179. 2020 print"            eingabe       = e"
  180. 2030 print"            durchsicht    = d"
  181. 2040 print"            auswertung    = a"
  182. 2045 print"            kontenarten   = k"
  183. 2050 print"            programmende  = p"
  184. 2060 syss9,17,0:ai$="":input"            auswahl       ";ai$
  185. 2065 ifai$="_"then2000
  186. 2070 ifai$="e"then4000
  187. 2080 ifai$="d"then6000
  188. 2090 ifai$="a"then12000
  189. 2095 ifai$="k"then25000
  190. 2100 ifai$="p"thenend
  191. 2110 goto2060
  192. 2500 rem monatsabfrage
  193. 2502 j1=int((ma-1)/12)+1:m1=ma-(j1-1)*12
  194. 2504 syssf,h4$,str$(m1+100),1,3,2
  195. 2505 syssf,h4$,str$(j1+100),3,3,2
  196. 2510 ifdn$="    "then2520
  197. 2511 syssf,h4$,dn$,1,3,2
  198. 2512 syssf,h4$,dn$,3,1,2
  199. 2520 syssa,20,28,1,h4$
  200. 2530 syss9,20,12:input"monat mmjj    ";hj$:syssf,h4$,hj$,1,1,4
  201. 2535 ifhj$="_"thenonfpgoto101,2000,12000
  202. 2540 syssf,h2$,h4$,1,1,2:m1=val(h2$):syssf,h2$,h4$,1,3,2:j1=val(h2$)
  203. 2545 mu=12*(j1-1)+m1
  204. 2550 ifm1<1orm1>12ormu<ma-mt ormu>ma+1goto2500
  205. 2560 syssf,dn$,h4$,1,3,2
  206. 2561 syssf,dn$,h4$,3,1,2
  207. 2570 gosub63000
  208. 2580 iffm=62then2500
  209. 2590 return
  210. 2600 rem monatsabfrage
  211. 2602 j1=int((ma-1)/12)+1:m1=ma-(j1-1)*12
  212. 2604 syssf,h4$,str$(m1+100),1,3,2
  213. 2605 syssf,h4$,str$(j1+100),3,3,2
  214. 2610 ifdn$="    "then2620
  215. 2611 syssf,h4$,dn$,1,3,2
  216. 2612 syssf,h4$,dn$,3,1,2
  217. 2620 syssa,4,29,1,h4$
  218. 2630 syss9,4, 1:input"monat mmjj                ";hj$:syssf,h4$,hj$,1,1,4
  219. 2635 ifhj$="_"thenonfpgoto101,2000,12000
  220. 2640 syssf,h2$,h4$,1,1,2:m1=val(h2$):syssf,h2$,h4$,1,3,2:j1=val(h2$)
  221. 2650 ifm1<1orm1>12goto2600
  222. 2660 syssf,dn$,h4$,1,3,2
  223. 2661 syssf,dn$,h4$,3,1,2
  224. 2670 gosub63000
  225. 2680 iffm=62then2600
  226. 2690 return
  227. 2700 rem monatsabfrage
  228. 2702 j1=int((ma-1)/12)+1:m1=ma-(j1-1)*12
  229. 2704 syssf,h4$,str$(m1+100),1,3,2
  230. 2705 syssf,h4$,str$(j1+100),3,3,2
  231. 2710 ifdn$="    "then2720
  232. 2711 syssf,h4$,dn$,1,3,2
  233. 2712 syssf,h4$,dn$,3,1,2
  234. 2720 syssa,20,29,1,h4$
  235. 2730 syss9,20, 9:input"monat mmjj        ";hj$:syssf,h4$,hj$,1,1,4
  236. 2735 ifhj$="_"thenonfpgoto101,2000,12000
  237. 2740 syssf,h2$,h4$,1,1,2:m1=val(h2$):syssf,h2$,h4$,1,3,2:j1=val(h2$)
  238. 2750 ifm1<1orm1>12goto2700
  239. 2760 syssf,dn$,h4$,1,3,2
  240. 2761 syssf,dn$,h4$,3,1,2
  241. 2770 gosub63000
  242. 2780 iffm=62then2700
  243. 2790 return
  244. 3000 rem open#4
  245. 3010 ifce=1then3100
  246. 3020 d%=4
  247. 3030 syssg,d%
  248. 3040 ifd%=0thenopen4,4:return
  249. 3050 md$="drucker einschalten, taste dreucken":gosub62500:goto3000
  250. 3100 sys51859
  251. 3110 md$="drucker einschalten":gosub62000
  252. 3120 open4,5
  253. 3130 md$="es wird gedruckt":gosub62000
  254. 3140 return
  255. 3500 rem hires copie
  256. 3510 ifce<>1thenreturn
  257. 3520 sys51859:open1,7:print#1,"                    ";chr$(0):close7:return
  258. 4000 rem neuaufnahme
  259. 4003 ifcs=1thenmd$="alte bestandsdisk eingelegt":gosub62500:goto2000
  260. 4009 gosub2500
  261. 4010 sp=0:md$=""
  262. 4020 gosub55000
  263. 4025 gosub56000
  264. 4026 gosub53000
  265. 4030 gosub50
  266. 4040 gosub58000
  267. 4100 rem poke198,0:wait198,1:getaa$
  268. 4200 ifaa$<>chr$(136)andaa$<>chr$(133)then4500
  269. 4301 :gosub57000:gosub55000
  270. 4302 :gosub11
  271. 4303 :md$="eingabe wird verbucht"
  272. 4304 :gosub62000
  273. 4322 :gosub49000
  274. 4323 :p=1:gosub30000
  275. 4325 :v=1:gosub46000
  276. 4340 :gosub39500:ifaa$=chr$(136)goto2000
  277. 4345 :goto4025
  278. 4500 ifaa$<>chr$(137)then4600
  279. 4510 :md$="eingaben nicht uebernommen"
  280. 4520 :gosub62000
  281. 4530 :goto4025
  282. 4600 ifaa$<>chr$(140)then4700
  283. 4610 :gosub39500:goto2000
  284. 4700 goto4100
  285. 5000 rem titel
  286. 5010 print"[147]haushaltsbuch              haushaltsbuch";
  287. 5020 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  288. 5030 print"           (c) juergen knoepke"
  289. 5040 print"               gartenstr. 10"
  290. 5050 print"               3339 soellingen"
  291. 5060 print"               05354/691"
  292. 5070 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  293. 5080 print"hinweis: die meisten funktionen koennen"
  294. 5090 print"         durch eingabe von '_' (rest"
  295. 5100 print"         spaces) abgebrochen werden"
  296. 5110 return
  297. 6000 gosub2500:fe=0
  298. 6005 print"[147]durchsicht   schluessel[154]    haushaltsbuch";
  299. 6006 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]";
  300. 6007 gosub55075
  301. 6030 print""ha$"datum       = d"
  302. 6040 printha$"konto/datum = k"
  303. 6050 printha$"verw./datum = v"
  304. 6060 input"            auswahl     ";ss$
  305. 6061 ifss$="_"then2000
  306. 6064 ifss$<>"d"andss$<>"k"andss$<>"v"then6005
  307. 6070 input"            ab tag        1[157][157][157]";h$:tt=val(h$)
  308. 6071 ifh$="_"then2000
  309. 6075 iftt<1ortt>31thenprint"[145][145]":goto6070
  310. 6080 ifss$<>"k"then6200
  311. 6090 input"            konto       ";h$
  312. 6091 ifh$="_"then2000
  313. 6100 fory=1toka
  314. 6110 :ifh$<>kz$(y)thennext
  315. 6120 ify>kathenprint"[145]";:goto6090
  316. 6200 ifss$<>"v"then6290
  317. 6210 input"            verwendung  ";h$
  318. 6211 ifh$="_"then2000
  319. 6220 fory=1tova
  320. 6230 :ifh$<>vz$(y)thennext
  321. 6240 ify>vathenprint"[145]";:goto6210
  322. 6290 gosub32000:ife%=0thenmd$="keine buchung zur auswahl":gosub62500:goto2000
  323. 6291 p=0
  324. 6292 p=p+1:ifasc(s$(s%(p)))-70<tt andp<e%then6292
  325. 6293 md$=str$(e%)+" buchungen zur auswahl":gosub62000
  326. 6300 gosub31000
  327. 6320 gosub55000
  328. 6325 gosub57000
  329. 6330 gosub11
  330. 6340 gosub53000
  331. 6350 md$="funktionstaste waehlen"
  332. 6360 gosub62000
  333. 6400 poke198,0:wait198,1:getaa$
  334. 6410 ifaa$<>chr$(133)then6500
  335. 6420 :ifp<e%then6425
  336. 6421 :md$="letzte buchung ist angezeigt"
  337. 6422 :gosub62000
  338. 6423 :goto6400
  339. 6425 :p=p+1:gosub31000
  340. 6440 :md$="letzter satz unveraendert"
  341. 6450 :gosub62000
  342. 6460 :goto6325
  343. 6500 ifaa$<>chr$(134)then6600
  344. 6520 :ifp>1then6525
  345. 6521 :md$="erste buchung ist angezeigt"
  346. 6522 :gosub62000
  347. 6523 :goto6400
  348. 6525 :p=p-1:gosub31000
  349. 6540 :md$="letzter satz unveraendert"
  350. 6550 :gosub62000
  351. 6560 :goto6325
  352. 6600 ifaa$<>chr$(136)then6700
  353. 6610 :goto2000
  354. 6700 goto6800
  355. 6701 :v=-1:gosub46000
  356. 6703 :gosub58000
  357. 6704 :gosub33000
  358. 6730 :v= 1:gosub46000
  359. 6740 :gosub39500:gosub32000
  360. 6760 :md$="aenderung uebernommen"
  361. 6770 :gosub62000
  362. 6780 :goto6400
  363. 6800 ifaa$<>chr$(138)then6900
  364. 6820 :ifcs=1thenmd$="alte bestandsdisk eingelegt":gosub62500:goto6900
  365. 6840 :v=-1:gosub46000
  366. 6859 :gosub34000
  367. 6860 :gosub39500:gosub32000
  368. 6865 :md$="satz geloescht"
  369. 6870 :gosub62000
  370. 6900 ifaa$<>chr$(137)then7000
  371. 6905 :ifcs=1thenmd$="alte bestandsdisk eingelegt":gosub62500:goto7000
  372. 6909 :gosub53500
  373. 6910 :gosub50
  374. 6920 :ifaa$="[137]"oraa$="[140]"then6320
  375. 6930 :md$="aenderung wird verbucht"
  376. 6940 :gosub62000
  377. 6950 :gosub53000
  378. 6960 :goto6701
  379. 7000 ifom$="n"then6350
  380. 7010 goto6400
  381. 8000 rem bilanzen
  382. 8040 j1=int((ma-1)/12)+1:m1=ma-(j1-1)*12
  383. 8045 syssf,h4$,str$(m1+100),1,3,2
  384. 8046 syssf,h4$,str$(j1+100),3,3,2
  385. 8050 syssa,21,29,1,h4$
  386. 8055 syss9,21, 9:input"monat mmjj        ";hj$:syssf,h4$,hj$,1,1,4
  387. 8056 ifhj$="_"then12000
  388. 8060 syssf,h2$,h4$,1,1,2:m1=val(h2$):syssf,h2$,h4$,1,3,2:j1=val(h2$)
  389. 8070 ifm1<1orm1>12goto8000
  390. 8080 mu=12*(j1-1)+m1:ifmu<ma-mt ormu>magoto8000
  391. 8090 gosub48000
  392. 8100 gosub62800
  393. 8110 goto12010
  394. 12000 fp=3:aj$=""
  395. 12010 print"[147]auswertung                 haushaltsbuch";
  396. 12012 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  397. 12020 print"         bilanzen  graphik = 1"
  398. 12030 print"         bilanzen  screen  = 2"
  399. 12040 print"         bilanzen  drucker = 3"
  400. 12050 print"         buchungen screen  = 4"
  401. 12060 print"         buchungen drucker = 5"
  402. 12062 print"         bilanzkorrektur   = 6"
  403. 12065 print"         hauptmenue        = 0"
  404. 12067 syssa,18,29,1,aj$
  405. 12070 syss9,18,0:input"         auswahl           ";aj$
  406. 12080 ifaj$="4"thensp=1:goto14000
  407. 12090 ifaj$="5"thensp=2:goto14000
  408. 12100 ifaj$="2"then8000
  409. 12105 ifaj$="1"then26000
  410. 12110 ifaj$="3"then16000
  411. 12122 ifaj$="6"then20000
  412. 12125 ifaj$="0"oraj$="_"then2000
  413. 12130 goto12067
  414. 14000 rem buchungen
  415. 14005 ifsp=2thengosub3000
  416. 14010 ifsp=1thenprint"[147]buchungen screen           haushaltsbuch";
  417. 14011 ifsp=2thenprint"[147]buchungen drucker          haushaltsbuch";
  418. 14012 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  419. 14015 gosub55075:gosub2600
  420. 14016 input" von tag                     1 [157][157][157][157]";h$:t1=val(h$):ifh$="_"then12000
  421. 14017 ift1<1ort1>31thenprint"[145][145][145]":goto14016
  422. 14018 input" bis tag                     31[157][157][157][157]";h$:t2=val(h$):ifh$="_"then12000
  423. 14019 ift1>t2ort2>31thenprint"[145][145]":goto14018
  424. 14020 input" k[146]onto, v[146]erw. oder $[146] alles ";b3$:b1$=b3$
  425. 14021 ifb1$="_"then12000
  426. 14025 ifb1$="$"thenb1$="k":b2$="$":goto14045
  427. 14030 if b1$<>"k"andb1$<>"v"thenprint"[145][145]":goto14020
  428. 14040 input" kurzzeichen   (alles=$)   ";b2$
  429. 14041 ifb2$="_"then12000
  430. 14045 ifb2$="$"theny=1:goto14120
  431. 14050 ifb1$<>"k"then14090
  432. 14060 fory=1toka
  433. 14070 :ifb2$<>kz$(y)thennext
  434. 14075 ify>kathenprint"[145][145]":goto14040
  435. 14080 goto14120
  436. 14090 fory=1tova
  437. 14100 :ifb2$<>vz$(y)thennext
  438. 14101 ify>vathenprint"[145][145]":goto14040
  439. 14120 ss$=b1$:gosub32000
  440. 14130 p=0:ife%=0then14500
  441. 14140 p=p+1:ifasc(s$(s%(p)))-70<t1 andp<e%then14140
  442. 14150 ifasc(s$(s%(p)))-70>t2then14500
  443. 14161 zz=0:syssf,hr$,"       0.00",1,1,11
  444. 14163 h4=0:x=0:gosub45000:h=ma-(12*(j1-1)+m1-1):ifh>mtthenx=0:gosub45000:goto14165
  445. 14164 ifb1$="k"thennr=y:x=fnkb(h):gosub45000
  446. 14165 ifb1$="k"thenh4=1
  447. 14166 gosub14640
  448. 14170 gosub31000
  449. 14190 ifasc(b$)-70>t2then14500
  450. 14191 gosub57000
  451. 14195 x=val(hr$)+val(f$(3)):gosub45000
  452. 14198 syssf,h1$,b$,1,3,1:ifb1$="k"thensyssf,h7$,vn$(asc(h1$)-70),1,1,7
  453. 14199 syssf,h1$,b$,1,2,1:ifb1$="v"thensyssf,h7$,kn$(asc(h1$)-70),1,1,7
  454. 14200 syssf,i1$,f$(1),1,1,2
  455. 14201 syssf,i1$,f$(2),4,1,15
  456. 14202 syssf,i1$,"/",19,1,1
  457. 14203 syssf,i1$,f$(3),21,1,11
  458. 14204 syssf,i1$,h7$,33,1,7
  459. 14210 syssf,i2$,f$(2),4,16,16
  460. 14220 syssf,i3$,f1$,1,1,8
  461. 14221 syssf,i3$,f$(2),11,1,31
  462. 14222 syssf,i3$,f$(3),46,1,11
  463. 14224 syssf,i3$,h7$,59,1,7
  464. 14226 ift1=1thensyssf,i3$,hr$,68,1,11
  465. 14227 ift1>1thensyssf,i3$,l$,68,1,11
  466. 14240 zz=zz+1
  467. 14250 ifsp=2then14390
  468. 14260 ifzz<12thenprinti1$;:printi2$;
  469. 14270 ifzz>11thensyssc,2,23,i1$;:syssc,2,23,i2$;
  470. 14370 ifzz<>int(zz/11)*11then14390
  471. 14380 md$="weiter: taste druecken":gosub62000
  472. 14381 gethz$:ifhz$=""then14381
  473. 14382 ifhz$="_"then12000
  474. 14385 md$="anzeige buchungen":gosub62000
  475. 14390 ifsp=1then14410
  476. 14395 syssa,22,0,1,i1$;i2$;
  477. 14400 print#4,i3$:gethz$:ifhz$="_"then12000
  478. 14405 gosub14600
  479. 14410 ifp=e%then14500
  480. 14415 p=p+1:gosub31000
  481. 14420 goto14190
  482. 14500 ifsp=2ande%>0thenforj=1to77:print#4,"-";:nextj:print#4,"-"
  483. 14501 ifsp=2ore%=0then14506
  484. 14502 md$="weiter: taste druecken":gosub62000
  485. 14503 gethz$:ifhz$=""then14503
  486. 14504 ifhz$="_"then12000
  487. 14505 md$="anzeige buchungen":gosub62000
  488. 14506 ifb2$="$"andb1$="k"andy<katheny=y+1:goto14120
  489. 14510 ifb2$="$"andb1$="v"andy<vatheny=y+1:goto14120
  490. 14550 ifb1$="k"andb3$="$"thenb1$="v":goto14045
  491. 14555 ifsp<>1thenprint#4,chr$(12):close4
  492. 14599 goto12000
  493. 14600 h=0:ifsp=1andzz=int(zz/10)*10thenh=1
  494. 14610 ifsp=2andzz=int(zz/60)*60thenh=2
  495. 14620 ifh<>1andh<>2 then return
  496. 14640 ifb1$="k"thensyssf,i4$,"konto  ",1,1,7
  497. 14645 ifb1$="k"thensyssf,i4$,kn$(y),8,1,7
  498. 14650 ifb1$="v"thensyssf,i4$,"verw.  ",1,1,7
  499. 14655 ifb1$="v"thensyssf,i4$,vn$(y),8,1,7
  500. 14660 syssf,i4$," buchungen ",22,1,11
  501. 14662 syssf,i4$,m$(m1),33,1,4
  502. 14664 syssf,i4$,str$(j1+100),38,3,2
  503. 14670 ifsp<>1then14720
  504. 14680 print"[147]"i4$;
  505. 14690 print"----------------------------------------";
  506. 14710 return
  507. 14720 rem
  508. 14740 print#4:print#4:print#4:print#4,chr$(14)i4$
  509. 14750 forj=1to77:print#4,"-";:next
  510. 14751 print#4,"-"
  511. 14760 ift1<>1thenh4=0
  512. 14761 ifh4<>0thenprint#4,">>>>>>>>  anfangsstand                       "hr$:h4=0
  513. 14762 zz=0
  514. 14770 return
  515. 16000 rem bilanzendruck
  516. 16020 print"[147]bilanzen drucker           haushaltsbuch";
  517. 16021 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  518. 16022 j1=int((mb-1)/12)+1:m1=ma-mt-(j1-1)*12
  519. 16023 syssf,h4$,str$(m1+100),1,3,2:syssf,h4$,str$(j1+100),3,3,2
  520. 16024 syssa,4,23,1,h4$
  521. 16025 syss9,4,10:input"von : mmjj ";hj$:syssf,h4$,hj$,1,1,4:ifhj$="_"then12000
  522. 16026 syssf,h2$,h4$,1,1,2:m1=val(h2$):syssf,h2$,h4$,1,3,2:j1=val(h2$)
  523. 16027 ifm1<1orm1>12goto16022
  524. 16028 mu=12*(j1-1)+m1:ifmu<ma-mt ormu>magoto16022
  525. 16032 j2=int(ma/12)+1:m2=ma-(j2-1)*12
  526. 16033 syssf,h4$,str$(m2+100),1,3,2:syssf,h4$,str$(j2+100),3,3,2
  527. 16034 syssa,6,23,1,h4$
  528. 16035 syss9,6,10:input"bis : mmjj ";hj$:syssf,h4$,hj$,1,1,4:ifhj$="_"then12000
  529. 16036 syssf,h2$,h4$,1,1,2:m2=val(h2$):syssf,h2$,h4$,1,3,2:j2=val(h2$)
  530. 16037 ifm2<1orm2>12goto16032
  531. 16038 mo=12*(j2-1)+m2:ifmo<muormo>magoto16032
  532. 16100 gosub3000
  533. 16120 print#4:print#4:print#4
  534. 16130 print#4,chr$(14)"  kontostaende "m$(m1)" "str$(j1)" - "m$(m2)" "str$(j2)
  535. 16155 fork=1toint((ka-1)/6)+1
  536. 16156 :ug=6*(k-1)+1
  537. 16157 :og=ug+5:ifog>kathenog=ka
  538. 16160 :print#4
  539. 16170 :fori=1to79:print#4,"-";:nexti
  540. 16180 :print#4
  541. 16190 :print#4,"monat  ";
  542. 16200 :fori=ugtoog:print#4,"     "kn$(i);:nexti
  543. 16220 :fori=mutomo
  544. 16225 : print#4
  545. 16230 : jh=int((i-1)/12)+1
  546. 16240 : mh=i-12*(jh-1)
  547. 16250 : print#4,m$(mh)" "mid$(str$(jh),2,2);
  548. 16260 : forii=ugtoog
  549. 16270 :  nr=ii:x=fnkb(ma-i):gosub45000
  550. 16280 :  print#4," ";hr$;
  551. 16290 :  nextii
  552. 16310 : nexti
  553. 16320 :nextk
  554. 16324 print#4
  555. 16325 fori=1to79:print#4,"-";:next
  556. 16326 print#4:print#4:print#4:print#4
  557. 16430 print#4,chr$(14)"  verwendungen "m$(m1)" "str$(j1)" - "m$(m2)" "str$(j2)
  558. 16455 fork=1toint((va-1)/6)+1
  559. 16456 :ug=6*(k-1)+1
  560. 16457 :og=ug+5:ifog>vathenog=va
  561. 16460 :print#4
  562. 16470 :fori=1to79:print#4,"-";:nexti
  563. 16480 :print#4
  564. 16490 :print#4,"monat  ";
  565. 16500 :fori=ugtoog:print#4,"     "vn$(i);:nexti
  566. 16520 :fori=mutomo
  567. 16525 : print#4
  568. 16530 : jh=int((i-1)/12)+1
  569. 16540 : mh=i-12*(jh-1)
  570. 16550 : print#4,m$(mh)" "mid$(str$(jh),2,2);
  571. 16560 : forii=ugtoog
  572. 16570 :  nr=ii:x=fnvb(ma-i):gosub45000
  573. 16580 :  print#4," ";hr$;
  574. 16590 :  nextii
  575. 16610 : nexti
  576. 16620 :nextk
  577. 16624 print#4
  578. 16625 fori=1to79:print#4,"-";:next
  579. 16626 print#4:print#4:print#4:print#4
  580. 16730 print#4,chr$(14)"  bilanzsummen "m$(m1)" "str$(j1)" - "m$(m2)" "str$(j2)
  581. 16760 :print#4:gosub16900
  582. 16770 :fori=1to38:print#4,"-";:nexti
  583. 16780 :print#4:gosub16900
  584. 16790 :print#4,"monat     verwendungen    kontostaende"
  585. 16820 :fori=mutomo
  586. 16825 : print#4:gosub16900
  587. 16830 : jh=int((i-1)/12)+1
  588. 16840 : mh=i-12*(jh-1)
  589. 16850 : print#4,m$(mh)" "mid$(str$(jh),2,2)"    ";
  590. 16855 : xn=0:forj=1toka:nr=j:xn=fnkb(ma-i)+xn:nextj
  591. 16860 : yn=xn-xa:ifi=muthenyn=0:forj=1tova:nr=j:yn=fnvb(ma-i)+yn:nextj
  592. 16870 : x=yn:gosub45000:print#4,hr$;"     ";
  593. 16880 : x=xn:gosub45000:print#4,hr$;
  594. 16885 : xa=xn
  595. 16890 : nexti
  596. 16891 :print#4:gosub16900
  597. 16892 :fori=1to38:print#4,"-";:nexti
  598. 16893 :print#4,chr$(12)
  599. 16898 close4
  600. 16899 goto12000
  601. 16900 forj=1to22:print#4," ";:nextj:return
  602. 20000 rem monatsbilanzen erneuern
  603. 20001 gosub2700
  604. 20002 mu=12*(j1-1)+m1:ifmu<ma-mt ormu>mathenclose6:goto20000
  605. 20003 md$="augenblick bitte":gosub62000
  606. 20004 fork=1toka
  607. 20005 :nr=k:ifmu>=mathen20008
  608. 20006 :forj=0toma-mu-1:h=fnkb(j)-(fnkb(ma-mu-1)-fnkb(ma-mu))
  609. 20007 :syss5,(32*j+k-1)*6,h:nextj
  610. 20008 :h=0:ifma-mu<mtthenh=fnkb(ma-mu+1)
  611. 20009 :syss5,(32*(ma-mu)+k-1)*6,h:nextk
  612. 20010 fork=1tova
  613. 20011 :nr=k
  614. 20012 :ifmu>=mathen20016
  615. 20013 :forj=0toma-mu-1:h=fnvb(j)-(fnvb(ma-mu-1)-fnvb(ma-mu))
  616. 20014 :syss5,(32*j+k+11)*6,h:nextj
  617. 20016 :syss5,(32*(ma-mu)+k+11)*6,0
  618. 20017 :nextk
  619. 20018 gosub60000:gosub23500:gosub63000:ss$="d":gosub32000:p=0:gosub55000
  620. 20019 p=p+1:ifp>e%thenclose6:goto12000
  621. 20020 gosub31000
  622. 20030 gosub57000
  623. 20050 gosub11
  624. 20060 md$="noch"+str$(e%-p+1)+" buchungen":gosub62000
  625. 20090 v=1
  626. 20100 gosub46000
  627. 20180 goto20019
  628. 21000 rem bilanzen und bez. einlesen
  629. 21010 z=0:gosub38000
  630. 21020 h$="1234567890a"+"":syss8,1,6,0,h$
  631. 21030 mb=val(mid$(h$, 1,4))
  632. 21040 ma=val(mid$(h$, 5,4))
  633. 21042 ka=asc(mid$(h$, 9,1))
  634. 21044 va=asc(mid$(h$,10,1))
  635. 21045 ce=asc(mid$(h$,11,1))
  636. 21046 cs=0:ifce>9thence=ce-10:cs=1
  637. 21060 forj=1to12
  638. 21080 :syss8,2,6,0,h$(1)
  639. 21090 :kn$(j)=h$(1):kz$(j)=h$(2)
  640. 21100 :nextj
  641. 21110 forj=1to20
  642. 21120 :syss8,2,6,0,h$(1)
  643. 21130 :vn$(j)=h$(1):vz$(j)=h$(2)
  644. 21140 :nextj
  645. 21150 mt=mg:ifma-mb<mgthenmt=ma-mb
  646. 21160 z=33+32*(ma-mb-mt):gosub38000
  647. 21170 forj=mtto0step-1
  648. 21180 :syss8,32,6,0,t$(1)
  649. 21190 :fori=1to12:h=val(t$(i)):syss5,(32*j+i-1)*6,h:nexti
  650. 21200 :fori=1to20:h=val(t$(i+12)):syss5,(32*j+i+11)*6,h:nexti
  651. 21210 :nextj
  652. 21220 return
  653. 21500 rem bilanzen eroeffnen
  654. 21510 open6,8,6,"hb-bilanzen"
  655. 21520 input#3,fm
  656. 21530 iffm<>62thengosub61002:gosub21000:return
  657. 21540 gosub21800:print"";fm
  658. 21570 return
  659. 21800 rem keine bilanzen auf disk
  660. 21810 print"[147]"
  661. 21820 print" keine bilanz-datei auf bestandsdisk !"
  662. 21830 print" bitte zutreffenden buchstaben eingeben"
  663. 21840 print" a) sie haben aus versehen eine falsche"
  664. 21850 print"    bestandsdiskette eingelegt."
  665. 21860 print" b) die eingelegte diskette soll ihre "
  666. 21870 print"    erste bestandsdiskette werden."
  667. 21880 print" c) sie wollen auf dieser bestands-"
  668. 21890 print"    diskette ihre bestehende haushalts-"
  669. 21900 print"    buchhaltung fuer einen neuen monat"
  670. 21910 print"    fortsetzen (letzte diskette ist"
  671. 21920 print"    nahezu voll)."
  672. 21922 print"    auf der alten disk kann dann nicht"
  673. 21924 print"    mehr gebucht werden."
  674. 21844 poke198,0:wait198,1:geth$
  675. 21940 ifh$="a"thenrun
  676. 21950 ifh$="b"thengosub22000:return
  677. 21960 ifh$="c"thengosub22500:return
  678. 21970 goto21844
  679. 22000 rem erste bestandsdisk
  680. 22005 close6:close3
  681. 22010 print"[147]  programmdisk einlegen, taste druecken"
  682. 22015 gosub62800
  683. 22020 open3,8,15:gosub60000
  684. 22040 gosub21000:rem datei einlesen
  685. 22045 input"[147]beginmonat der buchhaltung mmjj";hj$:syssf,h4$,hj$,1,1,4
  686. 22046 syssf,h2$,h4$,1,1,2:mm=val(h2$):syssf,h2$,h4$,1,3,2:jj=val(h2$)
  687. 22047 ifmm<1ormm>12thenprint"[145][145][145][145]":goto22045
  688. 22050 mb=12*(jj-1)+mm:ma=mb
  689. 22055 close6:close3
  690. 22060 print"  bestandsdisk einlegen, taste druecken"
  691. 22065 gosub62800
  692. 22070 open3,8,15:open6,8,6,"hb-bilanzen,l,"+chr$(11)
  693. 22072 mt$="disk voll":gosub61000
  694. 22073 z=1400:gosub38000:gosub61000:print#6,"12345678.01";:gosub61000
  695. 22080 gosub23500:rem werte speichern
  696. 22090 gosub23000:rem bezeichnugn spei.
  697. 22095 close6
  698. 22100 return
  699. 22500 rem weitere bestandsdisk
  700. 22505 close6:close3
  701. 22510 print"[147]  letzte bestands-disk einlegen und"
  702. 22515 print"  taste druecken"
  703. 22517 gosub62800:open3,8,15
  704. 22520 gosub60000
  705. 22540 gosub21000:rem datei einlesen
  706. 22542 ch=ce+10:z=0:gosub38000
  707. 22544 print#6,mid$(str$(10000+mb),3)mid$(str$(10000+ma),3)chr$(ka)chr$(va)chr$(ch);
  708. 22555 close6:close3
  709. 22560 print"  neue bestandsdisk einlegen und"
  710. 22565 print"  taste druecken"
  711. 22567 gosub62800
  712. 22570 open3,8,15:open6,8,6,"hb-bilanzen,l,"+chr$(11)
  713. 22573 z=1400:gosub38000:gosub61000:print#6,"12345678.01";:gosub61000
  714. 22580 gosub23500:rem werte speichern
  715. 22590 gosub23000:rem bezeichnugn spei.
  716. 22595 close6
  717. 22600 return
  718. 23000 rem bezeichungen speichern
  719. 23010 z=0:gosub38000
  720. 23015 print#6,mid$(str$(10000+mb),3)mid$(str$(10000+ma),3)chr$(ka)chr$(va)chr$(ce);
  721. 23020 fori=1to12:print#6,kn$(i)kz$(i);:nexti
  722. 23030 fori=1to20:print#6,vn$(i)vz$(i);:nexti
  723. 23040 return
  724. 23500 rem bilanzen speichern
  725. 23501 z=mt*32+32+1:gosub38000:print#6,"ende";
  726. 23510 z=0:gosub38000
  727. 23520 print#6,mid$(str$(10000+mb),3)mid$(str$(10000+ma),3)chr$(ka)chr$(va)chr$(ce);
  728. 23530 z=33:gosub38000:ma=mb+mt
  729. 23560 forj=mtto0step-1
  730. 23570 :fori=1to12:nr=i:x=fnkb(j):gosub45000:print#6,hr$;:nexti
  731. 23580 :fori=1to20:nr=i:x=fnvb(j):gosub45000:print#6,hr$;:nexti
  732. 23585 :nextj
  733. 23590 return
  734. 25000 rem namen aendern
  735. 25010 print"[147]namensaenderung            haushaltsbuch";
  736. 25020 print"[197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197][197]";
  737. 25030 gosub 55075
  738. 25040 gosub25600
  739. 25080 input"     k[146]onto oder v[146]erwendung";h$
  740. 25085 ifh$<>"k"andh$<>"v"then25080
  741. 25090 hh$="":input"     laufende nummer      ";hh$:h=val(hh$)
  742. 25100 ifh<1or(h$="k"and(h>12orh>ka+1))or(h$="v"and(h>20orh>va+1))then25090
  743. 25110 hh$="":input"     kurzbezeichnung      ";hh$:hh$=mid$(hh$+" ",1,1)
  744. 25120 ifh$="v"then25230
  745. 25130 fori=1toka
  746. 25140 :ifi=horhh$<>kz$(i)then25160
  747. 25150 :md$="bezeichung schon vergeben":gosub62000:goto25110
  748. 25160 :nexti
  749. 25170 ifh=kaandhh$=" "thenkz$(ka)=" ":kn$(ka)="       ":ka=ka-1:goto25400
  750. 25175 ifhh$=" "then25110
  751. 25180 ifh=ka+1thenka=ka+1
  752. 25190 kz$(h)=hh$
  753. 25195 goto25300
  754. 25230 fori=1tova
  755. 25240 :ifi=horhh$<>vz$(i)then25260
  756. 25250 :md$="bezeichung schon vergeben":gosub62000:goto25110
  757. 25260 :nexti
  758. 25270 ifh=vaandhh$=" "thenvz$(va)=" ":vn$(va)="       ":va=va-1:goto25400
  759. 25275 ifhh$=" "then25110
  760. 25280 ifh=va+1thenva=va+1
  761. 25290 vz$(h)=hh$
  762. 25300 gosub25600:hh$=""
  763. 25305 input"     bezeichung           ";hh$:hh$=mid$(hh$+"       ",1,7)
  764. 25310 ifh$="k"thenkn$(h)=hh$
  765. 25320 ifh$="v"thenvn$(h)=hh$
  766. 25400 gosub55075
  767. 25410 input"     weiter (j/n)         ";hh$
  768. 25420 ifhh$="j"then25000
  769. 25430 ifhh$<>"n"then25410
  770. 25431 input"     druckerport: s[146]eriell/u[146]ser ";hh$
  771. 25432 ifhh$<>"s"andhh$<>"u"thenprint"[145][145][145]":goto25431
  772. 25433 ce=0:ifhh$="u"thence=1
  773. 25435 gosub60000
  774. 25440 gosub23000
  775. 25450 goto2000
  776. 25600 print"-loeschen des letzten kontos bzw verw."
  777. 25610 print" durch bezeichung 'space'             "
  778. 25620 print"-kurzbez. muessen eindeutig sein       ";
  779. 25630 return
  780. 26000 rem grafik
  781. 26010 print"[147]bilanzen grafik            haushaltsbuch";
  782. 26020 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  783. 26030 print"  was wollen sie sich ansehen ?"
  784. 26040 print"  kontenuebersicht fuer einen monat = 1"
  785. 26050 print"  verw.-uebersicht fuer einen monat = 2"
  786. 26055 print"  monatsuebersicht fuer ein konto   = 3"
  787. 26060 print"  monatsuebersicht fuer eine verw.  = 4"
  788. 26065 print"  hauptmenue                        = 0"
  789. 26070 input"  auswahl                           ";h$
  790. 26080 ifh$="1"orh$="2"then27000
  791. 26081 ifh$="3"orh$="4"then28000
  792. 26082 ifh$="0"orh$="_"then12000
  793. 26083 print"[145][145][145]":goto26070
  794. 27000 print"[147]bilanzen grafik            haushaltsbuch";
  795. 27001 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  796. 27009 j1=int((ma-1)/12)+1:m1=ma-(j1-1)*12
  797. 27010 hh$=mid$(str$(m1+100),3)+mid$(str$(j1+100),3)
  798. 27020 syssa, 5,29,1,hh$
  799. 27030 syss9, 5, 9:input"monat mmjj        ";hh$
  800. 27031 ifhh$="_"then12000
  801. 27040 m1=val(mid$(hh$,1,2)):j1=val(mid$(hh$,3,2))
  802. 27050 ifm1<1orm1>12goto27000
  803. 27060 mu=12*(j1-1)+m1:ifmu<ma-mt ormu>magoto27000
  804. 27070 ifh$="2"then27500
  805. 27100 rem alle konten
  806. 27105 m=ma-mu
  807. 27110 kl=0:gr=0
  808. 27111 j1=int((ma-m-1)/12)+1:m1=ma-m-(j1-1)*12
  809. 27120 fornr=1toka
  810. 27130 :iffnkb(m)<klthenkl=fnkb(m)
  811. 27140 :iffnkb(m)>grthengr=fnkb(m)
  812. 27150 :nextnr
  813. 27155 kl=-kl
  814. 27160 ifgr-kl=0thenmd$="alle konten sind null":gosub62500:goto26000
  815. 27170 cb=gr/15:ifkl>grthencb=kl/15
  816. 27210 print"[147]grafik     konten "m$(m1)" "mid$(str$(j1+100),3,2)"[154]  haushaltsbuch";
  817. 27220 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]"
  818. 27230 fork=1toka
  819. 27240 :nr=k:i1=int(abs(fnkb(m))/cb*ep)
  820. 27250 :i2=int((abs(fnkb(m))-i1*cb)/cb*4)
  821. 27260 :h=1:gosub29500
  822. 27320 :nextk
  823. 27330 syssa,22,0,1,"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
  824. 27340 print"f1 quit  f3 verw. f5/f7 auswahl f2 druck";
  825. 27350 md$="funktiontaste waehlen":gosub62000
  826. 27360 ca=0:cn=0
  827. 27370 poke198,0:wait198,1:gethh$
  828. 27375 ifhh$="[137]"thengosub3500
  829. 27380 ifhh$="[133]"then12000
  830. 27390 ifhh$="[134]"then27510
  831. 27400 ifhh$="[135]"andca=0thencn=ka+6
  832. 27410 ifhh$="[135]"andca>7thencn=ca-1
  833. 27420 ifhh$="[136]"andca=0thencn=7
  834. 27430 ifhh$="[136]"andca>0andca<ka+6thencn=ca+1
  835. 27440 ifhh$=chr$(13)andcn>0thenk=cn-6:goto28100
  836. 27450 gosub29000
  837. 27460 ca=cn:goto27370
  838. 27500 rem alle verw.
  839. 27505 m=ma-mu
  840. 27510 kl=0:gr=0
  841. 27511 j1=int((ma-m-1)/12)+1:m1=ma-m-(j1-1)*12
  842. 27520 fornr=1tova
  843. 27530 :iffnvb(m)<klthenkl=fnvb(m)
  844. 27540 :iffnvb(m)>grthengr=fnvb(m)
  845. 27550 :nextnr
  846. 27555 kl=-kl
  847. 27560 ifgr-kl=0thenmd$="alle verw.  sind null":gosub62500:goto26000
  848. 27570 cb=gr/15:ifkl>grthencb=kl/15
  849. 27610 print"[147]grafik   verw.  "m$(m1)" "mid$(str$(j1+100),3,2)"[154]    haushaltsbuch";
  850. 27620 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]";
  851. 27630 fork=1tova
  852. 27640 :nr=k:i1=int(abs(fnvb(m))/cb*ep)
  853. 27650 :i2=int((abs(fnvb(m))-i1*cb)/cb*4)
  854. 27660 :h=2:gosub29500
  855. 27720 :nextk
  856. 27730 syssa,22,0,1,"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
  857. 27740 print"f1 quit  f3 konto f5/f7 auswahl f2 druck";
  858. 27750 md$="funktiontaste waehlen":gosub62000
  859. 27760 ca=0:cn=0
  860. 27770 poke198,0:wait198,1:gethh$
  861. 27775 ifhh$="[137]"thengosub3500
  862. 27780 ifhh$="[133]"then12000
  863. 27790 ifhh$="[134]"then27110
  864. 27800 ifhh$="[135]"andca=0thencn=va+1
  865. 27810 ifhh$="[135]"andca>2thencn=ca-1
  866. 27820 ifhh$="[136]"andca=0thencn=2
  867. 27830 ifhh$="[136]"andca>0andca<va+1thencn=ca+1
  868. 27840 ifhh$=chr$(13)andcn>0thenk=cn-1:goto28500
  869. 27850 gosub29000
  870. 27860 ca=cn:goto27770
  871. 28000 rem monatsuebers\
  872. 28010 print"[147]grafik                     haushaltsbuch";
  873. 28020 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]";
  874. 28030 gosub55075
  875. 28035 ifh$="4"then28050
  876. 28040 input"         welches konto  ";hh$
  877. 28041 ifhh$="_"then12000
  878. 28042 fork=1toka:ifhh$<>kz$(k)thennext
  879. 28044 ifk>kathen28040
  880. 28046 goto28100
  881. 28050 input"         welche verwendung";hh$
  882. 28051 ifhh$="_"then12000
  883. 28052 fork=1tova:ifhh$<>vz$(k)thennext
  884. 28054 ifk>vathen28050
  885. 28056 goto28500
  886. 28100 rem monatsueb. konten
  887. 28110 kl=0:gr=0:nr=k
  888. 28120 form=0tomt
  889. 28130 :iffnkb(m)<klthenkl=fnkb(m)
  890. 28140 :iffnkb(m)>grthengr=fnkb(m)
  891. 28150 :nextm
  892. 28155 kl=-kl
  893. 28160 ifgr-kl=0thenmd$="alle konten sind null":gosub62500:goto26000
  894. 28170 cb=gr/15:ifkl>grthencb=kl/15
  895. 28210 print"[147]grafik       konto "kn$(k)"[154] haushaltsbuch";
  896. 28220 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]";
  897. 28225 vs=0:mu=0:mo=mt:ifmo>19thenmo=19
  898. 28230 form=0tomo
  899. 28235 :j1=int((ma-m-1)/12)+1:m1=ma-m-(j1-1)*12
  900. 28240 :nr=k:i1=int(abs(fnkb(m))/cb*ep)
  901. 28250 :i2=int((abs(fnkb(m))-i1*cb)/cb*4)
  902. 28260 :h=3:gosub29500
  903. 28270 :ifvs<>0thenreturn
  904. 28320 :nextm
  905. 28325 vs=1
  906. 28330 syssa,22,0,1,"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
  907. 28340 print"f1 quit  f3 verw. f5/f7 auswahl f2 druck";
  908. 28350 ifmt>mothenmd$="funktion waehlen oder scrollen":gosub62000
  909. 28355 ifmt<=mothenmd$="funktiontaste waehlen":gosub62000
  910. 28360 ca=0:cn=0
  911. 28370 poke198,0:wait198,1:gethh$
  912. 28375 ifhh$="[137]"thengosub3500
  913. 28380 ifhh$="[133]"then12000
  914. 28390 ifhh$="[134]"thenh$="4":goto28000
  915. 28400 ifhh$="[135]"andca=0thencn=mo+2:m=mo
  916. 28410 ifhh$="[135]"andca>2thencn=ca-1:m=m-1
  917. 28420 ifhh$="[136]"andca=0thencn=2:m=mu
  918. 28430 ifhh$="[136]"andca>0andca<=mo+1andca<21thencn=ca+1:m=m+1
  919. 28440 ifhh$=chr$(13)andcn>0then27110
  920. 28442 ifhh$=""andmo<mtthensyssc,2,21,;:mo=mo+1:mu=mu+1:m=mo:ca=ca-1:ch=21:gosub28235
  921. 28444 ifhh$="[145]"andmu>0thensyssd,2,21,;:mu=mu-1:mo=mo-1:m=mu:ca=ca+1:ch=2:gosub28235
  922. 28450 gosub29000
  923. 28460 ca=cn:goto28370
  924. 28500 rem uebers. verw,
  925. 28510 kl=0:gr=0:nr=k
  926. 28520 form=0tomt
  927. 28530 :iffnvb(m)<klthenkl=fnvb(m)
  928. 28540 :iffnvb(m)>grthengr=fnvb(m)
  929. 28550 :nextm
  930. 28555 kl=-kl
  931. 28560 ifgr-kl=0thenmd$="alle verw.  sind null":gosub62500:goto26000
  932. 28570 cb=gr/15:ifkl>grthencb=kl/15
  933. 28610 print"[147]grafik    verw.  "vn$(k)"[154]   haushaltsbuch";
  934. 28620 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]";
  935. 28625 vs=0:mu=0:mo=mt:ifmo>19thenmo=19
  936. 28630 form=0tomo
  937. 28635 :j1=int((ma-m-1)/12)+1:m1=ma-m-(j1-1)*12
  938. 28640 :nr=k:i1=int(abs(fnvb(m))/cb*ep)
  939. 28650 :i2=int((abs(fnvb(m))-i1*cb)/cb*4)
  940. 28660 :h=4:gosub29500
  941. 28670 :ifvs<>0thenreturn
  942. 28720 :nextm
  943. 28725 vs=1
  944. 28730 syssa,22,0,1,"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
  945. 28740 print"f1 quit  f3 konto f5/f7 auswahl f2 druck";
  946. 28750 ifmt>mothenmd$="funktion waehlen oder scrollen":gosub62000
  947. 28760 ca=0:cn=0
  948. 28770 poke198,0:wait198,1:gethh$
  949. 28775 ifhh$="[137]"thengosub3500
  950. 28780 ifhh$="[133]"then12000
  951. 28790 ifhh$="[134]"thenh$="3":goto28000
  952. 28800 ifhh$="[135]"andca=0thencn=mo+2:m=mo
  953. 28810 ifhh$="[135]"andca>2thencn=ca-1:m=m-1
  954. 28820 ifhh$="[136]"andca=0thencn=2:m=mu
  955. 28830 ifhh$="[136]"andca>0andca<=mo+1andca<21thencn=ca+1:m=m+1
  956. 28840 ifhh$=chr$(13)andcn>0then27510
  957. 28842 ifhh$=""andmo<mtthensyssc,2,21,;:mo=mo+1:mu=mu+1:m=mo:ca=ca-1:ch=21:gosub28635
  958. 28844 ifhh$="[145]"andmu>0thensyssd,2,21,;:mu=mu-1:mo=mo-1:m=mu:ca=ca+1:ch=2:gosub28635
  959. 28850 gosub29000
  960. 28860 ca=cn:goto28770
  961. 29000 rem cursor
  962. 29005 ifabs(ca)<=1thenca=0
  963. 29006 ifch>0andcn>0thencn=ch:ch=0
  964. 29010 ifcn>0andca>0andca<>cnthenfori=1025+ca*40to1031+ca*40:pokei,peek(i)and127:next
  965. 29020 ifcn>0thenfori=1025+cn*40to1031+cn*40:pokei,peek(i)or128:next
  966. 29040 return
  967. 29500 syssf,i5$,l$,1,1,40:nr=k
  968. 29501 syssf,i5$,l$,41,1,6
  969. 29510 ifh=1thensyssf,i5$,kn$(k),2,1,7:x=fnkb(m)
  970. 29520 ifh=2thensyssf,i5$,vn$(k),2,1,7:x=fnvb(m)
  971. 29530 ifh=3orh=4thensyssf,i5$,m$(m1),2,1,4:syssf,i5$,str$(j1+100),7,3,2
  972. 29535 ifh=3thenx=fnkb(m)
  973. 29540 ifh=4thenx=fnvb(m)
  974. 29550 gosub45000
  975. 29560 ifx<0then29700
  976. 29570 syssf,i5$,"",9,1,1
  977. 29580 syssf,i5$,hr$,13,1,11
  978. 29600 syssf,i5$,"",26,1,1
  979. 29610 syssf,i5$,"[146]",27+i1,1,1
  980. 29620 syssf,i5$,g1$(i2),28+i1,1,3
  981. 29630 syssf,i5$,"[154]",46,1,1
  982. 29640 goto29800
  983. 29700 syssf,i5$,"[150]",9,1,1
  984. 29710 syssf,i5$,g2$(i2),25-i1,1,3
  985. 29720 syssf,i5$,"",28-i1,1,1
  986. 29730 syssf,i5$,"[146]",29,1,1
  987. 29740 syssf,i5$,hr$,31,1,11
  988. 29750 syssf,i5$,"[154]",46,1,1
  989. 29800 printi5$;
  990. 29900 return
  991. 30000 rem a$ und b$ abspeichern
  992. 30010 ifar<199then30100
  993. 30020 md$="nur"+str$(sm)+"[160]buchungen pro monat moeglich"
  994. 30030 gosub62500
  995. 30050 goto2000
  996. 30100 gosub38100:ar=ar+1
  997. 30102 z=0:gosub38000
  998. 30104 print#6,mid$(str$(1000+ar),3);
  999. 30110 z=int((ar-1)/14)+1:zp=ar-(z-1)*14:gosub38000
  1000. 30112 syss8,1,6,0,i6$
  1001. 30114 syssf,i6$,b$,3*(zp-1)+1,1,3
  1002. 30115 gosub38000
  1003. 30117 print#6,i6$;
  1004. 30130 z=ar+72:gosub38000
  1005. 30140 print#6,a$;
  1006. 30150 h=ar:gosub37500:s$(ar)=h$
  1007. 30180 return
  1008. 31000 rem a$ und b$ lesen
  1009. 31100 gosub37000:rem h = rec. nr.
  1010. 31120 syssf,b$,s$(s%(p)),1,1,3
  1011. 31130 z=h+72:zp=1:gosub38000
  1012. 31140 syss8,1,6,0,a$
  1013. 31150 return
  1014. 32000 rem s%(ar) aufbereiten
  1015. 32010 ifss$="k"orss$="v"then32020
  1016. 32012 e%=0
  1017. 32014 ife%=arthenreturn
  1018. 32015 ifmid$(s$(e%+1),1,1)=chr$(160)thenreturn
  1019. 32017 e%=e%+1:s%(e%)=e%
  1020. 32018 goto32014
  1021. 32020 ifss$="k"thenhs%=2
  1022. 32030 ifss$="v"thenhs%=3
  1023. 32032 ha%=0:e%=ar:h$=chr$(y+70)+"?"
  1024. 32040 syssb,ar,s$(1),h$,s%(1),hs%,ha%,e%
  1025. 32045 fori=1toe%:s%(i)=s%(i)+1:next
  1026. 32050 return
  1027. 33000 rem a$ und b$ aendern
  1028. 33100 gosub37000:rem h = rec. nr.
  1029. 33110 z=int((h-1)/14)+1:zp=h-(z-1)*14:gosub38000
  1030. 33112 syss8,1,6,0,i6$
  1031. 33114 syssf,i6$,b$,3*(zp-1)+1,1,3
  1032. 33115 gosub38000
  1033. 33117 print#6,i6$;
  1034. 33130 z=h+72:gosub38000
  1035. 33140 print#6,a$;
  1036. 33150 gosub37500:s$(s%(p))=h$
  1037. 33180 return
  1038. 34000 rem a$ und b$ loeschen
  1039. 34100 gosub37000:rem h = rec. nr.
  1040. 34105 b$=chr$(160)+chr$(160)+chr$(160):gosub37500:s$(s%(p))=h$
  1041. 34110 z=int((h-1)/14)+1:zp=h-(z-1)*14:gosub38000
  1042. 34112 syss8,1,6,0,i6$
  1043. 34114 syssf,i6$,b$,3*(zp-1)+1,1,3
  1044. 34115 gosub38000
  1045. 34117 print#6,i6$;
  1046. 34180 return
  1047. 37000 rem pys. record nr
  1048. 37010 h=asc(mid$(s$(s%(p)),4,1))+256*asc(mid$(s$(s%(p)),5,1))
  1049. 37020 return
  1050. 37500 rem s$ gen
  1051. 37502 hh=int(h/256)
  1052. 37504 hl=h-hh*256
  1053. 37510 h$=b$+chr$(hl)+chr$(hh)
  1054. 37520 return
  1055. 38000 rem auf record z pos.
  1056. 38010 zh=int((z+1)/256):zl=z+1-zh*256
  1057. 38020 print#3,"p"chr$(6)chr$(zl)chr$(zh)chr$(1)
  1058. 38030 mt$="disk voll":gosub61000
  1059. 38060 return
  1060. 38100 ifint((ar-72)/100)*100<>ar-72thenreturn
  1061. 38110 md$="datei wird vergroessert":gosub62000
  1062. 38120 zh=int((ar+101)/256):zl=ar+101-zh*256
  1063. 38130 print#3,"p"chr$(6)chr$(zl)chr$(zh)chr$(1)
  1064. 38132 mt$="disk voll":gosub61000
  1065. 38140 print#6," 0000000.00";:gosub61000
  1066. 38150 return
  1067. 39000 rem s$(ar) einlesen
  1068. 39005 gosub38100
  1069. 39010 z=0:gosub38000
  1070. 39020 syss8,1,6,0,h3$:ar=val(h3$)
  1071. 39030 z=1:gosub38000:syss8,ar,6,2,s$(1)
  1072. 39080 gosub39500
  1073. 39090 return
  1074. 39500 rem s$(ar) sortieren
  1075. 39510 syss1,ar,s$(1)
  1076. 39599 return
  1077. 45000 rem x runden
  1078. 45005 ifx=0orabs(x)>=1e6then45009
  1079. 45006 x=x+0.005*sgn(x)
  1080. 45009 syssf,hr$,l$,1,1,11
  1081. 45010 syssf,hr$,str$(x),1,1,11
  1082. 45020 syss7,hr$,2
  1083. 45030 x=val(hr$)
  1084. 45040 return
  1085. 46000 rem buchung in die bilanzen
  1086. 46005 gosub60000
  1087. 46010 jh=val(mid$(dn$,1,2))
  1088. 46020 mh=val(mid$(dn$,3,2))
  1089. 46030 mh=mh+12*(jh-1)
  1090. 46033 syssf,hr$,a$,1,1,11
  1091. 46034 hw=val(hr$)
  1092. 46035 k=asc(mid$(b$,2,1))-70
  1093. 46036 l=asc(mid$(b$,3,1))-70
  1094. 46037 nr=l:ifabs(fnvb(ma-mh)+hw*v)<10e6then46041
  1095. 46038 md$="ueberlauf bilanzen, nicht gebucht":gosub62500:goto2000
  1096. 46041 forj=0toma-mh
  1097. 46042 :nr=k:ifabs(fnkb(j)+hw*v)<10e6then46044
  1098. 46043 md$="ueberlauf bilanzen, nicht gebucht":gosub62500:goto2000
  1099. 46044 :nextj
  1100. 46045 forj=0toma-mh
  1101. 46050 :nr=k:h=fnkb(j)+hw*v:syss5,(32*j+k-1)*6,h
  1102. 46052 :nr=k:x=fnkb(j):gosub45000:syss5,(32*j+k-1)*6,x
  1103. 46053 z=32+(ma-mb-j)*32+k:gosub38000:print#6,hr$;
  1104. 46055 :nextj
  1105. 46070 nr=l:h=fnvb(ma-mh)+hw*v:syss5,(32*(ma-mh)+l+11)*6,h
  1106. 46072 nr=l:x=fnvb(ma-mh):gosub45000:syss5,(32*(ma-mh)+l+11)*6,x
  1107. 46075 z=44+(mh-mb)*32+l:gosub38000:print#6,hr$;
  1108. 46079 gosub63000
  1109. 46080 return
  1110. 48000 rem bilanzen screen
  1111. 48160 print"[147]bilanzen        "m$(m1)" "mid$(str$(j1+100),3,2)"[154]    haushaltsbuch";
  1112. 48165 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]";
  1113. 48170 print"     verwendung            konten[160]"
  1114. 48175 yy=0
  1115. 48180 fori=1tova
  1116. 48181 :nr=i:x=fnvb(ma-mu):yy=yy+x
  1117. 48182 :gosub45000
  1118. 48190 :printvn$(i)":"hr$
  1119. 48200 :next
  1120. 48220 print""
  1121. 48230 xx=0
  1122. 48280 fori=1toka
  1123. 48290 :nr=i:x=fnkb(ma-mu):xx=xx+x
  1124. 48300 :gosub45000
  1125. 48310 :printtb$kn$(i)":"hr$;
  1126. 48320 :next
  1127. 48322 x=xx
  1128. 48324 gosub45000
  1129. 48326 print""tb$"       summen "
  1130. 48327 x=xx-yy:gosub45000:print""tb$"vormon.:"hr$;
  1131. 48328 x=yy:gosub45000:printtb$"verw.  :"hr$;
  1132. 48329 x=xx:gosub45000:printtb$"konten :"hr$;
  1133. 48330 return
  1134. 49000 rem monat mit bilanzen aktualis.
  1135. 49010 jh=val(mid$(f1$,7,2))
  1136. 49020 mh=val(mid$(f1$,4,2))
  1137. 49030 mn=12*(jh-1)+mh
  1138. 49040 ifma>=mnthenreturn
  1139. 49045 ma=ma+1:mt=mt+1:ifmt>mgthenmt=mg
  1140. 49050 forkk=1toka
  1141. 49060 :fork=mtto1step-1
  1142. 49070 : nr=kk:h=fnkb(k-1):syss5,(32*k+kk-1)*6,h
  1143. 49080 : nextk
  1144. 49081 :nextkk
  1145. 49082 forkk=1tova
  1146. 49083 :fork=mtto1step-1
  1147. 49084 : nr=kk:h=fnvb(k-1):syss5,(32*k+kk+11)*6,h
  1148. 49085 : nextk
  1149. 49086 :syss5,(kk+11)*6,0
  1150. 49090 :nextkk
  1151. 49095 gosub60000
  1152. 49100 z=0:gosub38000
  1153. 49110 print#6,mid$(str$(10000+mb),3)mid$(str$(10000+ma),3)chr$(ka)chr$(va)chr$(ce);
  1154. 49120 z=32*(ma-mb)+33:gosub38000
  1155. 49130 fori=1to12:nr=i:x=fnkb(0):gosub45000:print#6,hr$;:next
  1156. 49140 fori=1to20:nr=i:x=fnvb(0):gosub45000:print#6,hr$;:next
  1157. 49150 close6:open6,8,6,"hb-"+dn$:mt$="open buchungen":gosub61000
  1158. 49500 goto49040
  1159. 53000 rem tastenbelegung
  1160. 53010 syss9,22,0
  1161. 53020 ifai$<>"e"then53050
  1162. 53030 print"f1 weitere eingabe f7 hauptmenue        ";
  1163. 53040 print"f2 eingabe loesch. f8 abbruch           ";
  1164. 53050 ifai$<>"d"then53080
  1165. 53060 print"f1 weiter   f3 zurueck   f7 hauptmenue  ";
  1166. 53070 print"f2 aendern  f4 loeschen                 ";
  1167. 53080 return
  1168. 53500 rem aenderung
  1169. 53510 syss9,22,0
  1170. 53530 print"daten aendern und funktionstaste waehlen";
  1171. 53540 print"f1,f7  daten uebernehmen   f2,f8 abbruch";
  1172. 53550 return
  1173. 54000 rem erg.-text
  1174. 54060 forkk=1toka
  1175. 54070 :iff$(4)<>kz$(kk)thennext
  1176. 54100 ifkk<=kathensyssa,fy(4),fx(4)+1,1,"[160]=[160]"kn$(kk)"[146]";
  1177. 54105 return
  1178. 54110 forkk=1tova
  1179. 54120 :iff$(5)<>vz$(kk)thennext
  1180. 54150 ifkk<=vathensyssa,fy(5),fx(5)+1,1,"[160]=[160]"vn$(kk)"[146]";
  1181. 54160 return
  1182. 55000 rem hintergrund
  1183. 55010 ifai$="e"thenprint"[147]eingabe                    haushaltsbuch";
  1184. 55012 ifai$="d"thenprint"[147]durchsicht                 haushaltsbuch";
  1185. 55013 ifaj$="6"thenprint"[147]bilanzkorrektur            haushaltsbuch";
  1186. 55015 print"[184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184][184]";
  1187. 55020 print" datum:    ."mid$(dn$,3,2)"."mid$(dn$,1,2)"[146]"
  1188. 55030 print" text :"
  1189. 55040 print" wert :              dm"
  1190. 55050 print" konto:"
  1191. 55060 print" verw.:"
  1192. 55075 syssa,11,0,1,"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]konten[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
  1193. 55076 ifka=0then55110
  1194. 55080 fori=1to12
  1195. 55090 :ifi<=kathenprint""kz$(i)"[154]="kn$(i)" ";
  1196. 55095 :ifi>kathenprint"          ";
  1197. 55100 :nexti
  1198. 55110 syssa,15,0,1,"[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]verwendung[195][195][195][195][195][195][195][195][195][195][195][195][195][195][195]";
  1199. 55112 ifva=0then55150
  1200. 55119 j1$=" "
  1201. 55120 fori=1to20
  1202. 55125 ifi>19thenj1$=""
  1203. 55130 :ifi<=vathenprint""vz$(i)"[154]="vn$(i)j1$;
  1204. 55135 :ifi>vathenprint"         "j1$;
  1205. 55140 :nexti
  1206. 55150 syssa,21,0,1,"[185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185][185]";
  1207. 55999 return
  1208. 56000 rem f$ init.
  1209. 56010 syssf,f$(1),"tt",1,1,2
  1210. 56020 syssf,f$(2),l$,1,1,31
  1211. 56030 syssf,f$(3),"-0[160][160][160][160][160][160][160][160][160]",1,1,11
  1212. 56040 syssf,f$(4),"[160]",1,1,1
  1213. 56050 syssf,f$(5),"[160]",1,1,1
  1214. 56052 syssa,fy(4),fx(4)+1,1,"[160][160][160][160][160][160][160][160][160][160]"
  1215. 56054 syssa,fy(5),fx(5)+1,1,"[160][160][160][160][160][160][160][160][160][160]"
  1216. 56060 return
  1217. 56500 rem f$ init.
  1218. 56510 f$(1)="tt"+""
  1219. 56520 f$(2)=left$(l$,31)
  1220. 56530 f$(3)="-0         "+""
  1221. 56540 f$(4)=" "+""
  1222. 56550 f$(5)=" "+""
  1223. 56560 return
  1224. 57000 rem a$ und b$ => f$
  1225. 57007 syssf,f$(1),str$(100+asc(b$)-70),1,3,2
  1226. 57008 syssf,f1$,f$(1),1,1,2
  1227. 57009 syssf,f1$,dn$,4,3,2
  1228. 57010 syssf,f1$,dn$,7,1,2
  1229. 57040 syssf,f$(2),a$,1,12,31
  1230. 57050 syssf,f$(3),a$,1,1,11
  1231. 57060 syssf,f$(4),kz$(asc(mid$(b$,2,1))-70),1,1,1
  1232. 57070 syssf,f$(5),vz$(asc(mid$(b$,3,1))-70),1,1,1
  1233. 57080 return
  1234. 58000 rem f$ => a$ und b$
  1235. 58010 syssf,a$,f$(3),1,1,11
  1236. 58015 syssf,a$,f$(2),12,1,31
  1237. 58060 fori=1toka+1
  1238. 58070 :iff$(4)<>kz$(i)thennext
  1239. 58090 forii=1tova+1
  1240. 58100 :iff$(5)<>vz$(ii)thennext
  1241. 58110 syssf,b$,chr$(val(f$(1))+70),1,1,1
  1242. 58111 syssf,b$,chr$(i+70),2,1,1
  1243. 58112 syssf,b$,chr$(ii+70),3,1,1
  1244. 58120 return
  1245. 60000 rem open bilanzen
  1246. 60010 close6
  1247. 60230 open6,8,6,"hb-bilanzen"
  1248. 60231 input#3,fm
  1249. 60232 iffm=62then60500
  1250. 60233 mt$="open bilanzdatei":gosub61002
  1251. 60299 return
  1252. 60500 md$="falsche disk: programmdisk einlegen"
  1253. 60501 gosub62500
  1254. 60502 goto60000
  1255. 61000 input#3,fm
  1256. 61002 iffm=0orfm=50thenreturn
  1257. 61010 md$=mt$+": floppy fehler "+str$(fm)+" "
  1258. 61020 gosub62000
  1259. 61025 gosub62800:iffp=1thenrun
  1260. 61026 onfpgoto100,2000,12000
  1261. 61030 return
  1262. 62000 rem md$ drucken
  1263. 62010 syss9,24,0
  1264. 62020 print" >>>>>>>>>>>>>>>>>>><<<<<<<<<<<<<<<<<<<";
  1265. 62040 h1=int((36-len(md$))/2)+2
  1266. 62045 syss9,24,h1
  1267. 62050 print" "md$" [146]";
  1268. 62060 return
  1269. 62500 gosub62000
  1270. 62800 rem wait
  1271. 62810 poke198,0:wait198,1:poke198,0
  1272. 62820 return
  1273. 63000 rem open buchungen
  1274. 63010 close6
  1275. 63220 syssf,h7$,"hb-",1,1,3
  1276. 63221 syssf,h7$,dn$,4,1,4
  1277. 63230 open6,8,6,h7$
  1278. 63231 input#3,fm
  1279. 63232 iffm=62andai$= "e"thengosub63500
  1280. 63233 iffm=62then63400
  1281. 63234 gosub61002
  1282. 63240 ifdn$<>da$thengosub39000:syssf,da$,dn$,1,1,4
  1283. 63299 return
  1284. 63400 md$="datei nicht auf disk":gosub62000:close6:return
  1285. 63500 md$=h7$+" anlegen (j/n) ?"
  1286. 63501 gosub62000
  1287. 63502 poke198,0:wait198,1:gethh$:ifhh$<>"j"andhh$<>"n"goto63502
  1288. 63504 ifhh$="n"then2000
  1289. 63510 close6
  1290. 63520 open6,8,6,"0:"+h7$+",l,"+chr$(42)
  1291. 63530 mt$="disk voll":gosub61000
  1292. 63535 mt$="anlegen datei":gosub61000
  1293. 63537 z=173:gosub38000:gosub61000:print#6," 999999.99":gosub61000
  1294. 63538 forz=0to72:gosub38000:print#6,l$;:next
  1295. 63539 ar=0:z=0:gosub38000:print#6,"000";
  1296. 63540 return
  1297.